<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layout 酒店管理系统 - Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="/layui/css/layui.css" rel="stylesheet">
    <script src="../jquery/jquery-3.6.0.js"></script>
</head>

<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-black">酒店管理系统</div>
        <!-- 头部区域（可配合layui 已有的水平导航） -->
        <ul class="layui-nav layui-layout-left">
            <!-- 移动端显示 -->
            <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-header-event="menuLeft">
                <i class="layui-icon layui-icon-spread-left"></i>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-sm-inline-block ">
                <a href="javascript:;">
                    <img src="//unpkg.com/outeres@0.0.10/img/layui/icon-v2.png" class="layui-nav-img">
                    tester
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="javascript:;">个人信息</a></dd>
                    <dd><a href="javascript:;">设置</a></dd>
                    <dd><a href="javascript:;">退出</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>
    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域（可配合layui已有的垂直导航） -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item ">
                    <a class="" href="index.html">首页</a>
                </li>
                <li class="layui-nav-item ">
                    <a class="" href="javascript:;">个人信息管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="userInfo.html">个人信息</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">酒店订单管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="roomReservation.html">预定房间订单</a></dd>
                        <dd><a href="occupiedOrder.html">已入住房间订单</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item layui-nav-itemed">
                    <a href="javascript:;">客房信息管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="roomLIst.html">客房列表</a></dd>
                        <dd><a href="roomKind.html">房间类型</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">酒店活动管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="activityManage.html">活动管理</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">会员管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="userComment.html">会员评论</a></dd>
                        <dd><a href="userList.html">会员列表</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">系统管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="adminList.html">管理员列表</a></dd>
                        <dd><a href="role.html">角色管理</a></dd>

                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">日志管理</a>
                    <dl class="layui-nav-child">
                        <dd><a href="loginLog.html">登录日志</a></dd>

                    </dl>
                </li>

            </ul>
        </div>
    </div>
    <div class="layui-body">
        <!-- 内容主体区域 -->
        <table class="layui-hide" id="ID-table-demo-data" lay-filter="test"></table>
        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-sm" lay-event="insert_kind">添加房间类型</button>
            </div>
        </script>
        <script type="text/html" id="barDemo" >
            <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" >删除</a>
        </script>
        <script type="text/html" id="insert_form">
            <div class="layui-field-box">
                <div class="layui-form-item layui-form-pane">
                    <label class="layui-form-label">类别名称</label>
                    <div class="layui-input-inline">
                        <input type="text" id="insert_catalog" class="layui-input" placeholder="请输入房间类别">
                    </div>
                </div>
            </div>
        </script>
        <script type="text/html" id="update_form">
            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">类别</label>
                <div class="layui-input-inline">
                    <input type="text" id="update_catalog" class="layui-input" placeholder="请输入更新的类别">
                </div>
            </div>
        </script>
    </div>
    </div>
    <div class="layui-footer">
                <!-- 底部固定区域 -->
                底部固定区域
            </div>
        </div>
    </div>
</div>
</body>

<script src="/layui/layui.js"></script>
<script>
    //JS
    layui.use(['element', 'layer', 'util'], function(){
        var element = layui.element;
        var layer = layui.layer;
        var util = layui.util;
        var $ = layui.$;

        //头部事件
        util.event('lay-header-event', {
            menuLeft: function(othis){ // 左侧菜单事件
                layer.msg('展开左侧菜单的操作', {icon: 0});
            },
            menuRight: function(){  // 右侧菜单事件
                layer.open({
                    type: 1,
                    title: '更多',
                    content: '<div style="padding: 15px;">处理右侧面板的操作</div>',
                    area: ['260px', '100%'],
                    offset: 'rt', // 右上角
                    anim: 'slideLeft', // 从右侧抽屉滑出
                    shadeClose: true,
                    scrollbar: false
                });
            }
        });
    });
</script>
<script>
    function tableFlush(whereJSON){
        layui.use('table', function(){
            let JSON_roomKind = [];
            $.ajax({
                url: "/roomCategoryName/selectAll", // 请求路径
                type: "get", // 请求的方式，不区分大小写
                cache: false, // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                datatype: "json", // 返回类型，text文本、html页面、json数据
                success: async function(response) {
                    console.log("返回: " + response);
                    if (response.code === 200) {
                        // 把所有的部门数据，存放到json中
                        JSON_roomKind = await response.data;
                        console.log(JSON.stringify(JSON_roomKind));

                        // 确保在数据加载完成后渲染表格
                        renderTable(JSON_roomKind);
                    }
                },
                error: function(response) {
                    console.log("出错返回: " + response);
                }
            });
        });
    }
    tableFlush();

    // 封装渲染表格的函数
    function renderTable(data) {
        var table = layui.table;
        // 已知数据渲染
        table.render({
            elem: '#ID-table-demo-data',
            toolbar: '#toolbarDemo',
            cols: [[ //标题栏
                {field: 'roomCatalogId', title: '编号', flexed:"left",width: 150, height: 200, sort: true},
                {field: 'catalog', title: '房间类别'},
                {fixed: 'right', title:'操作', toolbar: '#barDemo'}
            ]],
            data: data,
            //skin: 'line', // 表格风格
            //even: true,
            page: true, // 是否显示分页
            limits: [5, 10, 15],
            limit: 5 // 每页默认显示的数量
        });
        //头工具栏事件
        table.on('toolbar(test)', function(obj){
            switch(obj.event){
                case 'insert_kind':
                    layer.open({     // 弹出框处理  模态框
                        type: 1               // 模态框
                        ,title: '添加房间类别' //不显示标题栏
                        ,closeBtn: false
                        ,area: ['500px','500px']  // 宽和高
                        ,shade: 0.5
                        ,id: 'LAY_layuipro' //设定一个id，防止重复弹出
                        ,btn: ['添加', '取消']
                        ,btnAlign: 'c'
                        ,moveType: 1 //拖拽模式，0或者1
                        ,content: $('#insert_form').html()         // 引入自定义表单
                        ,btn1: function(index, layero){            // 这个是新增按钮点击事件
                            // layer.msg("新增按钮执行");
                            let catalog = $("#insert_catalog").val();
                            $.ajax({
                                url:"/roomCategoryName/insert",           // 请求路径
                                type:"post",                  // 请求的方式，不区分大小写
                                cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                contentType:"application/json;charset=utf-8",
                                data: JSON.stringify({
                                    catalog:catalog,
                                }),
                                datatype:"json",        // 返回类型，text文本、html页面、json数据
                                success:function(response){
                                    console.log("返回: " + response);
                                    if(response.code === 200) {
                                        layer.msg("新增用户成功!");
                                        layer.close(index);                         // 关闭当前窗口
                                        tableFlush();
                                    }
                                },
                                error:function(response){
                                    console.log("出错返回: " + response);
                                }
                            });
                        }
                        ,success: function(layero){
                        }
                    });
                    break;
                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });
        table.on('tool(test)', function(obj){
            var data = obj.data;
            //console.log(obj)
            if(obj.event === 'del'){
                // alert(data);
                // alert(JSON.stringify(data));
                layer.confirm('真的删除行么', function(index){
                    $.ajax({
                        url:"/roomCategoryName/deleteById?roomCatalogId="+data.roomCatalogId,           // 请求路径
                        type:"delete",                  // 请求的方式，不区分大小写
                        cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                        datatype:"json",        // 返回类型，text文本、html页面、json数据
                        success:function(response){
                            console.log("返回: " + response);
                            if(response.code === 200) {
                                layer.msg("删除用户成功!");
                                layer.close(index);                         // 关闭当前窗口
                                tableFlush();
                            }
                        },
                        error:function(response){
                            console.log("出错返回: " + response);
                        }
                    });
                });
            }else if(obj.event === 'edit'){
                layer.open({     // 弹出框处理  模态框
                    type: 1               // 模态框
                    ,title: '更新用户' //不显示标题栏
                    ,closeBtn: false
                    ,area: ['500px','500px']  // 宽和高
                    ,shade: 0.5
                    ,id: 'LAY_layuipro' //设定一个id，防止重复弹出
                    ,btn: ['更新', '取消']
                    ,btnAlign: 'c'
                    ,moveType: 1 //拖拽模式，0或者1
                    ,content: $('#update_form').html()         // 引入自定义表单
                    ,btn1: function(index, layero){            // 这个是新增按钮点击事件
                        // layer.msg("新增按钮执行");
                        let catalog = $("#update_catalog").val();
                        // 获取用户在下拉菜单中选中的value值
                        $.ajax({
                            url:"/roomCategoryName/updateById",           // 请求路径
                            type:"put",                  // 请求的方式，不区分大小写
                            cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                            contentType:"application/json;charset=utf-8",
                            data: JSON.stringify({
                                roomCatalogId: data.roomCatalogId,
                                catalog:catalog,
                            }),
                            datatype:"json",        // 返回类型，text文本、html页面、json数据
                            success:function(response){
                                console.log("返回: " + response);
                                if(response.code === 200) {
                                    layer.msg("更新用户成功!");
                                    layer.close(index);                         // 关闭当前窗口
                                    tableFlush();
                                }
                            },
                            error:function(response){
                                console.log("出错返回: " + response);
                            }
                        });
                    }
                    ,success: function(layero){
                        // 此方法是为了我们在弹出窗口之前，初始化数据的
                        $("#update_catalog").val(data.catalog);
                        //
                        // for(i = 0; i < JSON_department.length; i++) {
                        //     let onlyJSON = JSON_department[i];
                        //     $("#select_department").append("<option value=\"" + onlyJSON.id + "\">"+ onlyJSON.departmentName +"</option>");
                        // }
                        // // 如果部门名称为null 代表此用户目前没有部门，那么部门选择题，默认在第一行
                        // if(data.department.departmentName != null) {
                        //     $("#select_department").val(data.department.id);
                        // }

                        // $("#select_department").append("<option value=\"1\">技术部</option>")
                        //     .append("<option value=\"2\">业务部</option>")
                        //     .append("<option value=\"3\">市场部</option>")
                        //
                        // layui.use(['form'], function(){
                        //     var form = layui.form;
                        //     form.render('select'); // 仅渲染 select 元素
                        // });
                    }
                });
            }

        });
    }

</script>
</html>